home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / docs / corsoguide / librerie-12.txt < prev    next >
Text File  |  1992-09-03  |  2KB  |  39 lines

  1. Le librerie (library)
  2.  
  3. Arriviamo ad uno degli argomenti più importanti di questa puntata (l'ultimo
  4. di Exec) che permetterà di aprire gli altri più concreti.
  5. In "introduzione alle librerie", avevamo già accennato che cosa è una
  6. libreria e avevamo detto che un insieme di funzioni che permettono
  7. all'utente di pilotare correttamente il sistema in tutte le sue parti,
  8. dall'apertura di un file a quella di uno schermo. La libreria è composta da
  9. una struttura comprendente le informazioni di quest'ultima e una tabella di
  10. salti per le funzioni vere e proprie; la libreria, per poter utilizzare le
  11. sue funzioni, deve essere aperta mediante la chiamata:
  12.  
  13. libreria = (struct Library *)OpenLibrary(nome,versione);
  14.  
  15. dove "libreria" è il puntatore alla struttura Library della libreria e viene
  16. utilizzata per ogni chiamata a sue funzioni; "nome" è il puntatore ad una
  17. stringa contenente il nome della libreria e "versione" è una long che indica
  18. la versione della libreria (che corrisponde a quella del sistema esempio 32,
  19. 33, 36 ecc.).
  20. Qui occorre ricordare la famosa regola di Amiga: "quello che viene aperto
  21. deve essere chiuso"; per cui eccovi la funzione per chiudere la libreria
  22. prima dell'uscita dal vostro programma:
  23.  
  24. CloseLibrary(libreria);
  25.  
  26. dove libreria è il puntatore alla struttura Library ritornato da
  27. OpenLibrary.
  28. Il valore "libreria" non verrà mai utilizzato se non nella chiusura, perché
  29. nella chiamata alle funzioni di libreria, i parametri vengono passati per
  30. registri, mentre in una qualsiasi chiamata ad una funzione da C i parametri
  31. sono passati per stack; in realtà quindi, vengono chiamate delle funzioni
  32. presenti nella libreria del compilatore (solitamente Amiga.lib) che a loro
  33. volta passeranno i parametri dallo stack nei registri oppurtuni e qui
  34. chiameranno la funzione vera e propria mediante il puntatore "libreria";
  35. perciò i puntatori alle strutture Library delle librerie da utilizzare
  36. vanno dichiarati dal programmatori come variabili esterne (o globali) con
  37. un nome ben preciso che non può essere mutato e che potete osservare nella
  38. tabella rispettiva.
  39.